(1) Field of the Invention
The present invention relates generally to development and testing of a software module for operation within large software systems and, more specifically, to a system operation test facilitating program operable for providing a stand alone system operation test tool that simulates a plurality of computer programs as seen by the aforesaid software module being developed, that form the software environment in which the software module being developed will eventually operate. That is to say, the test facilitating program is a simulator of the large software system.
(2) Description of the Prior Art
Large-scale hardware and software systems and applications may typically include many different interrelated functional elements or software modules that may each comprise one or more computer programs. The various functional elements or modules of the system may need to be developed concurrently to form an overall system to save the cost and problems that occur if the functional elements are developed sequentially. Due to the complexity of the system, there is a risk that when a functional element and the overall system are eventually developed that the functional element will not integrate as expected into the overall system. It would be desirable to somehow reduce the risk of system component integration problems without the need to stop concurrent development of the various functional elements.
The present invention may be used in conjunction with the software disclosed in the hereinabove referenced related co-pending U.S. patent application Ser. No. 09/898,714, and everything in that co-pending application related to the sensor performance prediction functional segment (SPPFS) of the AN/SQQ-89(V)15 anti-submarine warfare computer program, or related to the common interprocessor communication (IPC) protocol, or related to the common object request broker architecture (COBRA) bridge is hereby incorporated by reference.
As used herein, a functional element is a software module which performs a unique software task and which may have multiple interfaces with other functional elements and/or with an application comprised of numerous functional elements and/or with an overall system comprised of a plurality of applications. In a preferred embodiment of the present invention, the functional element performs one or more tasks which may utilize an inter-task interface or module-to-module communication protocol or mechanism. Each functional element may have multiple interfaces. The interface sets forth constraints on formats, timing, and/or other factors required by an interaction of functional elements that perform different tasks within a computer system.
The following patents describe various types of simulators that have been developed in the past.
U.S. Pat. No. 4,192,082, issued Mar. 11, 1980, to Deaton et al., discloses an electronic warfare simulator that is used to teach students how to operate passive electronic warfare equipment. A computer produces simulated radar signals that duplicate the characteristics of real world radar emitters. These characteristic signals are input to a plurality of pulse generators and mixers which act upon the signals and stimulate a pulse analyzer in order for the pulse analyzer to realistically activate electronic warfare equipment.
U.S. Pat. No. 5,474,454, issued Dec. 12, 1995, to Knapp et al., discloses a system for simulating own ship sensor outputs for submarine trainers. The system is comprised of five personal computer systems operating together. These computers are interconnected such that the individual computers can exchange data and function as one integrated unit. The system provides sensor output to an external trainer through multiple I/O cards. The system also accepts trainer inputs on these lines. Software modules on the personal computer systems allow the operator to configure and monitor the sensor systems as well as providing processing of inputs received at multiple sources to generate a coherent output signal.
U.S. Pat. No. 5,551,875, issued Sep. 3, 1996, to Shaffer et al., discloses a land based launch tube control panel testing and training system for a submarine's launcher that interconnects with a launch tube control panel from a submarine to simulate the operation of a submarine weapons launching system to allow for launch tube control panel operational testing and training of operator and maintenance personnel training. In a simulation mode, a submarine weapons launch tube control panel tester and trainer is responsive to weapons launch system control data signals received from the launch tube control panel, for transmitting to the launch tube control panel weapons launching system operational data signals having a predetermined data type and data value which are a function of the received weapons launching system control data signals. In the training and maintenance mode, the submarine weapons launch tube control panel tester and trainer can provide predetermined fault simulations to allow the training of maintenance personnel, as well as test signals which can be utilized to exercise and verify the operability of a tube control panel.
U.S. Pat. No. 5,591,031, issued Jan. 7, 1997, to Monk et al., discloses a missile simulator training apparatus for pilot training of an aircraft of the type having at least one missile station and including a pre-launch module for substantially simulating the pre-launch functions of a missile in response to data received from the aircraft. The apparatus also includes an inert factor formed missile body, thereby providing the apparatus with static and aerodynamic loads equivalent to that of an actual missile. The apparatus further includes a data link and data capture module for recording all data transactions between the apparatus and the aircraft for post-flight analysis of aircraft and pilot performance.
U.S. Pat. No. 5,969,835, issued Oct. 19, 1999, to Kamieniecki et al., discloses an automated signal generator apparatus that allows testing of remotely-controlled electronic devices to verify functionality and reliability, or for product set-up, initialization or configuration. The apparatus simulates a person pressing the keys on a remote control keypad, and can simulate key press sequences, key press duration, and time between key presses. Other human interfaces may also be simulated. The apparatus can be continuously driven by an external computer in a slaved mode, or can store test instructions in an internal memory to operate in a standalone mode. Test instructions, which may be written in a macro script language, are processed by a microprocessor to provide a control signal to, e.g., an infrared (IR) transmitter. The IR transmitter can control one or more electronic devices which are under test. The transmitter may use a wide-angle IR beam, or a plurality of separate transmitters for testing of a plurality of electronic devices at the same time. In a human learning mode, control signals from a human interface are processed to provide time compression or repetition of a fixed control sequence.
The above cited prior art does not provide a means for verifying that a software functional element will suitably integrate within an overall software system comprising a plurality of computer programs that are still under development. Consequently, there remains a long felt but unsolved need for improved software functional element development tools to insure reliable integration thereof into a complex software system that is developed concurrently with the software functional element. Those skilled in the art will appreciate that the present invention addresses the above and other problems.